package com.train.course.service;

/**
 * 视频收藏 服务层接口
 */
public interface IVideoCollectService {

    /**
     * 收藏视频
     * 
     * @param userId 用户ID
     * @param videoId 视频ID（episode_id）
     * @return 结果
     */
    public boolean collectVideo(Long userId, Long videoId);

    /**
     * 取消收藏
     * 
     * @param userId 用户ID
     * @param videoId 视频ID（episode_id）
     * @return 结果
     */
    public boolean uncollectVideo(Long userId, Long videoId);

    /**
     * 检查用户是否已收藏
     * 
     * @param userId 用户ID
     * @param videoId 视频ID（episode_id）
     * @return 是否已收藏
     */
    public boolean isCollected(Long userId, Long videoId);
    
    /**
     * 收藏课程
     * 
     * @param userId 用户ID
     * @param courseId 课程ID
     * @return 结果
     */
    public boolean collectCourse(Long userId, Long courseId);

    /**
     * 取消收藏课程
     * 
     * @param userId 用户ID
     * @param courseId 课程ID
     * @return 结果
     */
    public boolean uncollectCourse(Long userId, Long courseId);

    /**
     * 检查用户是否已收藏课程
     * 
     * @param userId 用户ID
     * @param courseId 课程ID
     * @return 是否已收藏
     */
    public boolean isCourseCollected(Long userId, Long courseId);
}